<?php

class LoginView{
	
	private $getName = "Name";
	private $getPassword = "Password";
	private $getLogin = "Login";
	private $getLogout = "Logout";
	private $getRememberBox = "Remember";
	private $NameCookie = "Name";
	private $PassCookie = "Pass";
	const Logout = 0;
	const Login = 1;
	const No_Msg = 2;
	const Wrong_User = 3;
	const Fail = 4;
	const IsLoggedIn = 5;
	const IsLoggedOut = 6;
	
	//Funktion som skapar ett formulär
	public function DoLoginBox(){
		return "<div class='LogIn'><form action='index.php' method='get' >
			LogIn:<input type='text' name='$this->getName' /><br></br>
			Password: <input type='text' name='$this->getPassword' /><br></br>
			Remember Me: <input type ='checkbox' name='$this->getRememberBox' />		
			</div>";
	}
	public function DoLoginButton(){	
		return "<input type='submit' name='$this->getLogin' value='Login'/>
		</form>";
	}
	
	//Funktion som lägger till en knapp till formuläret.
	public function DoLogoutBox(){
		return "<div class='LogOut'><input type='submit' name='$this->getLogout' value='Logout'/>
		</div></form>";			
	}
	
	//Funktion som returnerar text beroende på om man loggar ut, in eller inget alls
	public function DoMessage($message){
		if($message == self::Logout)
		{
			$html = "Du har loggat ut.";
		}	
		else if ($message == self::Login)
		{
			$html = "Du har loggat in";
		}
		else if ($message == self::Fail)
		{
			$html = "Inloggningen misslyckades";			
		}
		else if ($message == self::Wrong_User)
		{
			$html = "Fel användarnamn";			
		}
		else if ($message == self::No_Msg)
		{
			$html = "";			
		}
		return $html;
	}
	//Funtion som skickar text beroende på om användaren är inloggad eller utloggad.
	public function LogMsg ($LogMsg){
		if($LogMsg == self::IsLoggedIn)
		{
			$Msg = "Inloggad.";
		}	
		else if ($LogMsg == self::IsLoggedOut)
		{
			$Msg = "Utloggad.";
		}
		else if ($LogMsg == self::No_Msg)
		{
			$Msg = "";			
		}
		return $Msg;
	}
		
	
	//Funktion som hämtar användarnamn om det finns ett sådant.
	public function GetUserName(){

		if(isset($_GET[$this->getName]) == TRUE)	
		{
			return $_GET[$this->getName];
		}
		else 
		{
     		return NULL;
    	}
		
	}
	
	//Funktion som hämtar lösenord om det finns ett sådant.
	public function GetPassword(){
		
		if(isset($_GET[$this->getPassword]) == TRUE)	
		{
			return $_GET[$this->getPassword];
		}
		else 
		{
     		return NULL;
    	}
		
	}
	//Funktion som kollar om remember me boxen är ikryssad.
	public function RememberMe(){

		if(isset($_GET[$this->getRememberBox]) == TRUE)
		{				
			return TRUE;
		}
		else
		{
			return NULL;
		}
	}
	
	//Funktion som sätter cookies.
	public function SetCookie($CookieName, $CookiePass){
		
		setcookie($this->NameCookie,$CookieName, time() + 50);
		setcookie($this->PassCookie,$CookiePass, time() + 50);
				$_COOKIE[$this->NameCookie] = TRUE;
				$_COOKIE[$this->PassCookie] = TRUE;
	}
	
	//Funktion som returnerar värdet på cookien som har användarnamnet
	public function GetCookieName(){
	
		if(isset($_COOKIE[$this->NameCookie]) == TRUE)
		{
			return $_COOKIE[$this->NameCookie];
		}
		else
		{
			return NULL;				
		}
	}
	
	//Funktion som returnerar värdet på cookien som har lösenordet
	public function GetCookiePass(){
	
		if(isset($_COOKIE[$this->PassCookie]) == TRUE)
		{
			return $_COOKIE[$this->PassCookie];
		}	
		else
		{
			return NULL;				
		}
	}
	
	//Funtion som tar bort cookies.
	public function UnsetCookie(){
		
		setcookie($this->NameCookie,"", time() - 3600);
		setcookie($this->PassCookie,"", time() - 3600);
	//	$_COOKIE[$this->NameCookie] = TRUE;
	//	$_COOKIE[$this->PassCookie] = TRUE;
		
	}
		
	
	//Funktion som kollar om "Login" har tryckts på.
	public function TriedToLogin(){
		
		if(isset($_GET[$this->getLogin]) == TRUE)
		{
			return TRUE;	
		}
		else
		{
			return FALSE;
		}
	}
	
	//Funktion som kollar om "Logout" har tryckts på.
	public function TriedToLogout(){
			if(isset($_GET[$this->getLogout]) == TRUE)
		{
			return TRUE;
		}
		else
		{
			return FALSE;
		}
	}
}